package br.com.syshealth.clinica.entity;

import java.io.Serializable;
import java.util.Date;



import javax.persistence.*;

/**
 * Entity implementation class for Entity: Pessoa
 *
 */
@Entity
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="data_type", discriminatorType = DiscriminatorType.STRING)
@SequenceGenerator(name = "SEQ_PESSOA", sequenceName = "PessoaSequence", allocationSize = 1)
@Table(name="pessoa", schema="clinica")
public class Pessoa implements Serializable {

	
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator="SEQ_PESSOA")
	@Column(name="id")
	private int codPessoa;//ver tipo pois no diagrama estar tipo endereco
	
	
	@OneToOne(targetEntity=Endereco.class, cascade= CascadeType.ALL)
	@JoinColumn(name = "idEndereco" )
	private Endereco endereco;
	
	private String nome;
	
	@Column(name="data_nacimento")
	private Date dataNaciemnto;
	
	private String cpf;
	
	private String login;
	
	private String senha;//senha no diagrama estar do tipo int, acho que era para ser do tipo String
	
	private String fone;
	
	private String email;
    
	
	private String tipo;
	
//	@ManyToOne
//	@JoinColumn(name="tipo")
//	private Tipo tipo;
	

	
	public String getTipo() {
		return tipo;
	}
	public void setTipo(String valueTipo) {
		this.tipo = valueTipo;
	}
	public int getCodPessoa() {
		return codPessoa;
	}
	public void setCodPessoa(int codPessoa) {
		this.codPessoa = codPessoa;
	}
	public Endereco getCodEndereco() {
		return endereco;
	}
	public void setCodEndereco(Endereco Endereco) {
		this.endereco = Endereco;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public Date getDataNaciemnto() {
		return dataNaciemnto;
	}
	public void setDataNaciemnto(Date dataNaciemnto) {
		this.dataNaciemnto = dataNaciemnto;
	}
	public String getCpf() {
		return cpf;
	}
	public void setCpf(String cpf) {
		this.cpf = cpf;
	}
	public String getLogin() {
		return login;
	}
	public void setLogin(String login) {
		this.login = login;
	}
	public String getSenha() {
		return senha;
	}
	public void setSenha(String senha) {
		this.senha = senha;
	}
	public String getFone() {
		return fone;
	}
	public void setFone(String fone) {
		this.fone = fone;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public static long getSerialversionuid() {
		return serialVersionUID;
	}
//	public Tipo getTipo() {
//		return tipo;
//	}
//	public void setTipo(Tipo tipo) {
//		this.tipo = tipo;
//	}
   
}
